package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.GwPlatformServiceOrder;

/**
 * 平台服务订单Service接口
 * 
 * @author ruoyi
 * @date 2025-05-09
 */
public interface IGwPlatformServiceOrderService 
{
    /**
     * 查询平台服务订单
     * 
     * @param id 平台服务订单主键
     * @return 平台服务订单
     */
    public GwPlatformServiceOrder selectGwPlatformServiceOrderById(String id);

    /**
     * 查询平台服务订单列表
     * 
     * @param gwPlatformServiceOrder 平台服务订单
     * @return 平台服务订单集合
     */
    public List<GwPlatformServiceOrder> selectGwPlatformServiceOrderList(GwPlatformServiceOrder gwPlatformServiceOrder);

    /**
     * 新增平台服务订单
     * 
     * @param gwPlatformServiceOrder 平台服务订单
     * @return 结果
     */
    public int insertGwPlatformServiceOrder(GwPlatformServiceOrder gwPlatformServiceOrder);

    /**
     * 修改平台服务订单
     * 
     * @param gwPlatformServiceOrder 平台服务订单
     * @return 结果
     */
    public int updateGwPlatformServiceOrder(GwPlatformServiceOrder gwPlatformServiceOrder);

    /**
     * 批量删除平台服务订单
     * 
     * @param ids 需要删除的平台服务订单主键集合
     * @return 结果
     */
    public int deleteGwPlatformServiceOrderByIds(String[] ids);

    /**
     * 删除平台服务订单信息
     * 
     * @param id 平台服务订单主键
     * @return 结果
     */
    public int deleteGwPlatformServiceOrderById(String id);
    /**
     * 查询当前登录人所在企业服务订单
     * @Date 上午 10:51:49 2025/5/28
     * @param gwPlatformServiceOrder
     * @return 结果
     **/
    List<GwPlatformServiceOrder> myEnterpriseList(GwPlatformServiceOrder gwPlatformServiceOrder);
    /***
     * 取消订单
     * @Date 下午 1:11:21 2025/5/28
     * @param gwPlatformServiceOrder
     * @return int
     **/
    int cancelOrder(GwPlatformServiceOrder gwPlatformServiceOrder);
    /**
     * 支付订单
     * @Date 下午 1:23:35 2025/5/28
     * @param gwPlatformServiceOrder
     * @return 结果
     **/
    AjaxResult payOrder(GwPlatformServiceOrder gwPlatformServiceOrder);
    /**
     * 微信小程序支付订单
     * @Date 下午 6:04:53 2025/6/9
     * @param gwPlatformServiceOrder
     * @return 结果
     **/
    AjaxResult appletPayOrder(GwPlatformServiceOrder gwPlatformServiceOrder);

    /**
     * 小程序统计服务订单
     * @param gwPlatformServiceOrder
     * @return
     */
    AjaxResult statisticsServiceOrder();
    /**
     *修改订单
     * @Date 上午 11:07:03 2025/7/16
     * @param serviceOrder
     * @return void
     **/
    int updateOrder(GwPlatformServiceOrder serviceOrder);
}
